package com.tianji.learning.service;

import com.tianji.learning.domain.po.Note;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.learning.domain.dto.UpdateNoteDto;
import com.tianji.learning.domain.po.Note;
import com.tianji.learning.domain.dto.AddNotesDto;
import com.tianji.learning.domain.po.Note;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.common.domain.dto.PageDTO;
import com.tianji.learning.domain.dto.NotePageDto;
import com.tianji.learning.domain.po.Note;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.learning.domain.query.NotePageQuery;
import com.tianji.learning.domain.vo.NoteDetailVo;
import com.tianji.common.domain.dto.PageDTO;
import com.tianji.learning.domain.po.Note;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.learning.domain.query.UserNoteQuery;
import com.tianji.learning.domain.vo.UserNotePageVo;

/**
 * <p>
 * 课程笔记表 服务类
 * </p>
 *
 * @author L.HS
 */
public interface INoteService extends IService<Note> {

    void addNotes(AddNotesDto dto);

    void gatherNotes(Long id);

    void deleteNotes(Long id);

    void editNote(Long id, UpdateNoteDto dto);

    PageDTO<NotePageDto> selectNotePage(NotePageQuery query);

    NoteDetailVo getNoteDetailById(Long id);

    PageDTO<UserNotePageVo> pageQuery(UserNoteQuery query);

    void deleteNote(Long id);
}
